U.S. Pat. No. 5,398,196 discusses the detection of viruses within a personal computer. However, unlike the present invention, this reference does not treat the elimination of detected viruses, nor does it discuss macro viruses.
Existing technology used by anti-virus programs to detect and repair macro viruses requires, for each unique new macro virus, the development of a detection and repair definition. After the development of the detection and repair definition, the anti-virus program must be augmented with the new definition before it can detect the newly discovered macro virus. This method has the advantage that a skilled anti-virus researcher is able to study the virus and understand it enough so that a proper detection and repair definition can be created for it. The main disadvantage is that a relatively long turnaround time is required before the general public is updated with each new definition. The turnaround time includes the duration during which the virus has a chance to spread and possibly wreak havoc, the time to properly gather a sample and send it to an anti-virus research center, the time required to develop the definition, and the time to distribute the definition to the general public. This process is similar to the process used for protecting against the once more prevalent DOS viruses.
One species of existing technology uses rudimentary heuristics that can scan for newly developed macro viruses . These heuristics employ expert knowledge of the types of viruses they seek. Often these heuristics look for strings of bytes that are indicative of viral behavior, for example, strings found in currently known viruses. Current heuristics are very good at detecting new viruses that are variants of known viruses with a high level of confidence. The main disadvantage of current heuristics is that they are good enough for detection only. This is true of both macro virus heuristics and DOS virus heuristics.